home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il_c / ilPerspWarp.z / ilPerspWarp
Encoding:
Text File  |  2002-10-03  |  6.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. iiiillllPPPPeeeerrrrssssppppWWWWaaaarrrrpppp((((3333))))     IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiillllPPPPeeeerrrrssssppppWWWWaaaarrrrpppp((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllPPPPeeeerrrrssssppppWWWWaaaarrrrpppp - 2D perspective warp
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      ilWarp
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilCdefs.h>
  16.  
  17. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      This class manages a 2D perspective warp.  The virtual methods inherited
  19.      from ilWarp can be used for evaluation, inversion, composition, and so
  20.      forth.  An ilPerspWarp object can be precisely composed with another
  21.      ilPerspWarp object and also with an ilAffineWarp object.  A new
  22.      ilPerspWarp object is usually specified using the infer method of ilWarp
  23.      that processes a set of tie points to compute the warp parameters.  The
  24.      minimum number of tie points required to uniquely specify a perspective
  25.      warp is 4.  That is, a perspective warp is equivalent to a coordinate
  26.      mapping between two quadralaterals.  If only 3 points are passed to the
  27.      infer method, then the perspective warp imitates the affine warp
  28.      specified by those 3 tie points.  The coefficients of the perspective
  29.      warp are stored in a 3x3 array of floats, a[3][3].  The warp is defined
  30.      in terms of these coefficients as:
  31.  
  32.               x = (a[0][0]*u + a[1][0]*v + a[2][0]) / den
  33.               y = (a[0][1]*u + a[1][1]*v + a[2][1]) / den
  34.             where
  35.               den = a[0][2]*u + a[1][2]*v + a[2][2]
  36.  
  37.  
  38.      It is also possible to specify the perspective warp by explicitly setting
  39.      the warp coefficients using the various iiiinnnniiiitttt() methods.
  40.  
  41. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  42.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  43.  
  44.           ilPerspWarp* ilPerspWarpCreate()
  45.           ilPerspWarp* ilPerspWarpPersp(const ilPerspWarp* other)
  46.           ilPerspWarp* ilPerspWarpAffine(const ilAffineWarp* other)
  47.  
  48.      GGGGeeeetttt////sssseeeetttt mmmmeeeetttthhhhooooddddssss
  49.  
  50.           void ilPerspWarpInit(ilPerspWarp *obj, const ilPerspWarp* other)
  51.           void ilPerspWarpInitAffine(ilPerspWarp *obj, const ilAffineWarp* other)
  52.           void ilPerspWarpInitCoeff(ilPerspWarp *obj, const float* c)
  53.           const float* ilPerspWarpGetCoeff(ilPerspWarp *obj)
  54.           void ilPerspWarpTranslate(ilPerspWarp* obj, float dx, float dy)
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllPPPPeeeerrrrssssppppWWWWaaaarrrrpppp((((3333))))     IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiillllPPPPeeeerrrrssssppppWWWWaaaarrrrpppp((((3333))))
  71.  
  72.  
  73.  
  74. FUNCTION DESCRIPTIONS
  75.      iiiillllPPPPeeeerrrrssssppppWWWWaaaarrrrpppp(((())))
  76.  
  77.           ilPerspWarp* ilPerspWarpCreate()
  78.           ilPerspWarp* ilPerspWarpAffine(const ilAffineWarp* other)
  79.           ilPerspWarp* ilPerspWarpPersp(const ilPerspWarp* other)
  80.  
  81.  
  82.           Construct a new instance of a perspective warp object.  The null
  83.           constructor creates an uninitialized instance.  The other
  84.           constructors copy existing perspective warp and affine warp objects.
  85.  
  86.      ggggeeeettttCCCCooooeeeeffffffff(((())))
  87.  
  88.           const float* ilPerspWarpGetCoeff(ilPerspWarp *obj)
  89.  
  90.  
  91.           Access the perspective warp coefficient matrix.
  92.  
  93.      iiiinnnniiiitttt(((())))
  94.  
  95.           void ilPerspWarpInitCoeff(ilPerspWarp *obj, const float* c)
  96.           void ilPerspWarpInitAffine(ilPerspWarp *obj, const ilAffineWarp* other)
  97.           void init(const ilPerspCoeff& c)
  98.           void ilPerspWarpInit(ilPerspWarp *obj, const ilPerspWarp* other)
  99.  
  100.  
  101.           Initialize the perspective warp.
  102.  
  103.      ttttrrrraaaannnnssssllllaaaatttteeee(((())))
  104.  
  105.           void ilPerspWarpTranslate(ilPerspWarp* obj, float dx, float dy)
  106.  
  107.  
  108.           Apply a translation of (_d_x, _d_y) the this warp.
  109.  
  110. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
  111.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaarrrrpppp
  112.      ilWarpCompose(), ilWarpCopy(), ilWarpDx(), ilWarpDy(), ilWarpDz(),
  113.      ilWarpEval3D(), ilWarpEval(), ilWarpEvalVector(), ilWarpFindRoot(),
  114.      ilWarpGetBBox2D(), ilWarpGetBBox(), ilWarpIdentity(), ilWarpInfer(),
  115.      ilWarpInvert(), ilWarpMinimumNumberOfTies(), ilWarpX(), ilWarpY(),
  116.      ilWarpZ()
  117.  
  118.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt
  119.      addWatchCallback(), doWatchCallbacks(), removeWatchCallback()
  120.  
  121. SSSSEEEEEEEE AAAALLLLSSSSOOOO iiiillllWWWWaaaarrrrpppp,,,, iiiillllAAAAffffffffiiiinnnneeeeWWWWaaaarrrrpppp,,,, iiiillllTTTTiiiieeeeWWWWaaaarrrrppppIIIImmmmgggg,,,, iiiillllWWWWaaaarrrrppppIIIImmmmgggg
  122.  
  123.  
  124.  
  125.  
  126.                                                                         PPPPaaaaggggeeee 2222
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.